/**
 * @params {number} min 最小值
 * @params {number} max 最大值
 * @description 生成指定范围内的随机整数
 * @returns {number} 随机整数
 */
export const generateRandomNumber = (min: number, max: number) => {
  return Math.floor(Math.random() * (max - min + 1)) + min
}

/**
 * @params {number} min 最小值
 * @params {number} max 最大值
 * @params {number} decimal 小数位数
 * @description 生成指定范围内的随机浮点数
 * @returns {number} 随机浮点数
 */
export const generateRandomFloat = (min: number, max: number, decimal = 2) => {
  return Number.parseFloat((Math.random() * (max - min) + min).toFixed(decimal))
}

/**
 * 时间戳转标准时间
 * @param timestamp
 * @returns
 */
export const formatTimestamp = (timestamp: string | number | Date) => {
  const date = new Date(timestamp)
  const year = date.getFullYear()
  const month = String(date.getMonth() + 1).padStart(2, '0') // 月份从0开始，需要+1
  const day = String(date.getDate()).padStart(2, '0')
  const hours = String(date.getHours()).padStart(2, '0')
  const minutes = String(date.getMinutes()).padStart(2, '0')
  const seconds = String(date.getSeconds()).padStart(2, '0')
  return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
}

/**
 * 时间戳转标准时间
 * @param timestamp
 * @returns
 */
export const formatDatestamp = (timestamp: string | number | Date) => {
  const date = new Date(timestamp)
  const year = date.getFullYear()
  const month = String(date.getMonth() + 1).padStart(2, '0') // 月份从0开始，需要+1
  const day = String(date.getDate()).padStart(2, '0')
  return `${year}-${month}-${day}`
}
